#include<iostream>
#include<unistd.h>
#include<signal.h>

using namespace std;

void work()
{
    cout<<"proc is running..."<<endl;
}
void handler(int signo)
{
    work();
    //cout<<"get a sig,number: "<<signo<<endl;
    //exit(1);
    alarm(5);
}
int main()
{
    signal(SIGALRM,handler);
    int n=alarm(5);
    while(1)
    {
        cout<<"proc is running ..."<<endl;
        sleep(1);
    }

    // signal(SIGFPE,handler);
    
    // cout<<"Before Div"<<endl;
    // // //野指针
    // // int *p=nullptr;
    // // *p=100;

    // //除0错误
    // int a=10;
    // a/=0;
    // cout<<"After Div"<<endl;
    return 0;
}